<template>
	<view class="dialog">
		<view class="title">服务协议和隐私政策</view>
		<view class="content">
			请你务必审慎阅读、充分理解“服务协议”和“隐私政策”各条款，包括但不限于：为了更好的向你提供服务，我们需要收集你的设备标识、操作日志等信息用于分析、优化应用性能。你可阅读
			<text class="link" @click="linkClick(1)">《服务协议》</text>和
			<text class="link" @click="linkClick(2)">《隐私政策》</text>
			了解详细信息。如果你同意，请点击下面按钮开始接受我们的服务。
		</view>
		<view class="btn">
			<button @click="disagree">不同意并退出</button>
			<button @click="agree">同意</button>
		</view>
	</view>
</template>

<script setup lang="ts">
	import * as api from "@/api.js";
	
	// 查看隐私协议或服务协议
	const linkClick = (num : number) : void => {
		switch (num) {
			case 1:
				uni.navigateTo({
					url:`/pages/webview/webviews?url=` + encodeURIComponent(api.USER_URL)
				})
				break
			case 2:
				// 跳转隐私政策
				uni.navigateTo({
					url:`/pages/webview/webviews?url=` + encodeURIComponent(api.PRIVACY_URL)
				})
				break
		}
	}
	// 不同意，退出应用
	const disagree = () : void => {
		// #ifdef APP-PLUS
		plus.ios.import("UIApplication").sharedApplication().performSelector("exit")
		// #endif
	}
	// 同意，返回上一页
	const agree = () : void => {
		uni.setStorageSync('agree', 1) // 设置缓存，下次进入应用不再弹出
		uni.navigateBack()
	}
</script>

<style lang="scss">
	page {
		background-color: rgba(0, 0, 0, 0.3); // 设置与启动页面相同的背景色，并设置一定透明度
		overflow: hidden;
	}
</style>
<style lang="scss" scoped>
	// 弹窗样式
	.dialog {
		margin: 0 auto;
		margin-top: calc(30vh);
		width: 600rpx;
		border-radius: 16rpx;
		background-color: #fff;
	
		.title {
			text-align: center;
			line-height: 80rpx;
			font-size: 32rpx;
			font-weight: 600;
		}
	
		.content {
			padding: 0 32rpx;
			text-indent: 1em;
	
			.link {
				color: blue;
			}
		}
	
		.btn {
			display: flex;
			flex: 1;
	
			uni-button {
				margin: 0;
				flex: 1;
				background-color: #fff;
			}
	
			uni-button::after {
				border: none;
			}
		}
	}
</style>